Software analysis tools, such as debuggers, can provide valuable information relating to memory usage. This information helps to isolate errors within computer programs. While the information provided by debuggers no doubt is useful, there are limitations with respect to conventional debuggers and other software analysis tools.
One such limitation relates to the interface provided by most debuggers. Within a debug window, only a relatively small number of bytes of memory can be presented at one time. The amount of memory that can be shown is constrained by the size of the display window. Another limitation is that while a debugger may indicate which portions of memory have been committed for use, typically a debugger is unable to provide information relating to the size of the memory range that is committed. Still another limitation relates to the inability of a debugger to indicate subdivisions within memory ranges, e.g., smaller allocated memory regions within a larger memory range such as a heap.
Though the information noted above is not available in conventional software analysis tools, such information can be particularly useful in diagnosing errors within a computer program.